﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////

#pragma once

#include "GcmpRenderingInterface.h"
namespace gcmp {


    /// \brief 点高亮配置类
    class GCMP_RENDERING_INTERFACE_EXPORT DotRenderSelectionOption
    {
    public:
        /// \brief 设置是否开启点高亮显示
        /// \param enableDotRender true：开启点高亮显示；false：关闭点高亮显示
        /// \return void
        static void SetDotRenderSelection(bool enableDotRender);

        /// \brief 是否开启点高亮显示
        /// \return true：开启；false：关闭
        static bool IsDotRenderSelection();

        /// \brief 设置点高亮的镂空样式，maskBuffer长度必须为128个字节
        /// \return 设置是否成功
        static bool SetCustomPolygonStippleMask(const std::vector<unsigned char>& maskBuffer);

        /// \brief 设置是否使用自定义的点高亮的镂空样式
        static void SetUseCustomPolygonStippleMask(bool bUseCustom);

        /// \brief 获取是否使用自定义的点高亮的镂空样式
        /// \return 是否使用自定义样式
        static bool IsUseCustomPolygonStippleMask();

        /// \brief 获取当前点高亮的镂空样式，返回的buffer长度固定为128个字节
        /// \return maskBuffer的指针
        static const unsigned char* GetPolygonStippleMask();
    };
}// namespace gcmp
